<?php

return [
    // API版本
    'version' => '1.0.0',
    
    // API基础配置
    'base_url' => env('API_BASE_URL', 'https://api.example.com'),
    
    // 分页配置
    'pagination' => [
        'default_page_size' => 10,
        'max_page_size' => 100,
    ],
    
    // 文件上传配置
    'upload' => [
        'max_size' => 10 * 1024 * 1024, // 10MB
        'allowed_types' => [
            'image' => ['jpg', 'jpeg', 'png', 'gif', 'bmp', 'webp'],
            'document' => ['pdf', 'doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx'],
            'archive' => ['zip', 'rar', '7z'],
        ],
        'storage_path' => 'uploads/',
    ],
    
    // JWT配置
    'jwt' => [
        'expire_time' => 7200,      // 2小时
        'refresh_expire_time' => 604800, // 7天
        'auto_refresh_threshold' => 1800, // 30分钟
    ],
    
    // 限流配置
    'rate_limit' => [
        'user' => [
            'requests' => 1000,
            'window' => 3600, // 1小时
        ],
        'ip' => [
            'requests' => 500,
            'window' => 3600, // 1小时
        ],
        'route' => [
            'requests' => 100,
            'window' => 60, // 1分钟
        ],
    ],
    
    // 缓存配置
    'cache' => [
        'user_online_ttl' => 1800,     // 30分钟
        'token_blacklist_ttl' => 7200, // 2小时
        'api_response_ttl' => 300,     // 5分钟
    ],
    
    // 日志配置
    'log' => [
        'operation_log' => true,        // 是否记录操作日志
        'access_log' => true,           // 是否记录访问日志
        'error_log' => true,            // 是否记录错误日志
        'sensitive_fields' => [         // 敏感字段（日志中会被脱敏）
            'password', 'token', 'secret', 'key', 
            'id_card_number', 'mobile', 'email'
        ],
    ],
    
    // 安全配置
    'security' => [
        'enable_csrf' => false,         // 是否启用CSRF保护
        'enable_cors' => true,          // 是否启用CORS
        'allowed_origins' => ['*'],     // 允许的来源
        'allowed_methods' => ['GET', 'POST', 'PUT', 'DELETE', 'OPTIONS'],
        'allowed_headers' => ['*'],
        'max_request_size' => 50 * 1024 * 1024, // 50MB
    ],
    
    // 第三方服务配置
    'third_party' => [
        'wechat' => [
            'timeout' => 30,
            'retry_times' => 3,
        ],
        'alipay' => [
            'timeout' => 30,
            'retry_times' => 3,
        ],
        'oss' => [
            'timeout' => 60,
            'retry_times' => 2,
        ],
    ],
    
    // 数据验证配置
    'validation' => [
        'id_card_strict' => true,       // 是否严格验证身份证
        'mobile_strict' => true,        // 是否严格验证手机号
        'email_strict' => true,         // 是否严格验证邮箱
    ],
    
    // 业务配置
    'business' => [
        'merchant' => [
            'max_count_per_user' => 10,     // 每个用户最多创建商户数
            'auto_submit_days' => 7,        // 自动提交天数
            'audit_timeout_days' => 30,     // 审核超时天数
        ],
        'file' => [
            'retention_days' => 365,        // 文件保留天数
            'cleanup_batch_size' => 1000,   // 清理批次大小
        ],
    ],
    
    // 监控配置
    'monitor' => [
        'enable_performance' => true,   // 是否启用性能监控
        'slow_query_threshold' => 1000, // 慢查询阈值（毫秒）
        'memory_limit_warning' => 80,   // 内存使用警告阈值（百分比）
        'disk_space_warning' => 90,     // 磁盘空间警告阈值（百分比）
    ],
    
    // 通知配置
    'notification' => [
        'channels' => [
            'email' => [
                'enabled' => false,
                'smtp_host' => env('MAIL_HOST', ''),
                'smtp_port' => env('MAIL_PORT', 587),
                'username' => env('MAIL_USERNAME', ''),
                'password' => env('MAIL_PASSWORD', ''),
            ],
            'sms' => [
                'enabled' => false,
                'provider' => 'aliyun',
                'access_key' => env('SMS_ACCESS_KEY', ''),
                'secret_key' => env('SMS_SECRET_KEY', ''),
            ],
            'webhook' => [
                'enabled' => false,
                'url' => env('WEBHOOK_URL', ''),
                'secret' => env('WEBHOOK_SECRET', ''),
            ],
        ],
    ],
    
    // 调试配置
    'debug' => [
        'enable_sql_log' => env('APP_DEBUG', false),
        'enable_request_log' => env('APP_DEBUG', false),
        'enable_response_log' => env('APP_DEBUG', false),
        'log_level' => env('LOG_LEVEL', 'info'),
    ],
];
